app:
  description: ''
  icon: 💬
  icon_background: '#FEF7C3'
  icon_type: emoji
  mode: advanced-chat
  name: Web chatbot
  use_icon_as_answer_icon: false
dependencies:
- current_identifier: null
  type: marketplace
  value:
    marketplace_plugin_unique_identifier: langgenius/maas:0.0.23@9a25024ffcc593a4b16c90d233c99d88f655632d48f7ef824ecf92c2ba64c36b
    version: null
kind: app
version: 0.7.0
workflow:
  conversation_variables: []
  environment_variables: []
  features:
    file_upload:
      allowed_file_extensions:
      - .JPG
      - .JPEG
      - .PNG
      - .GIF
      - .WEBP
      - .SVG
      allowed_file_types:
      - image
      allowed_file_upload_methods:
      - local_file
      - remote_url
      enabled: false
      fileUploadConfig:
        attachment_image_file_size_limit: 2
        audio_file_size_limit: 50
        batch_count_limit: 5
        file_size_limit: 15
        file_upload_limit: 20
        image_file_batch_limit: 10
        image_file_size_limit: 10
        single_chunk_attachment_limit: 10
        video_file_size_limit: 100
        workflow_file_upload_limit: 10
      image:
        enabled: false
        number_limits: 3
        transfer_methods:
        - local_file
        - remote_url
      number_limits: 3
    opening_statement: Hi! How can I help you today?
    retriever_resource:
      enabled: true
    sensitive_word_avoidance:
      enabled: false
    speech_to_text:
      enabled: false
    suggested_questions: []
    suggested_questions_after_answer:
      enabled: false
    text_to_speech:
      enabled: false
      language: ''
      voice: ''
  graph:
    edges:
    - data:
        isInIteration: false
        isInLoop: false
        sourceType: llm
        targetType: answer
      id: llm-answer
      selected: false
      source: llm
      sourceHandle: source
      target: answer
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        isInLoop: false
        sourceType: start
        targetType: knowledge-retrieval
      id: 1776072202913-source-1785147627985-target
      source: '1776072202913'
      sourceHandle: source
      target: '1785147627985'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        isInLoop: false
        sourceType: knowledge-retrieval
        targetType: llm
      id: 1785147627985-source-llm-target
      selected: false
      source: '1785147627985'
      sourceHandle: source
      target: llm
      targetHandle: target
      type: custom
      zIndex: 0
    nodes:
    - data:
        desc: 接收用户发送的消息和文件，作为每一轮对话的起点。
        selected: false
        title: input
        type: start
        variables: []
      height: 117
      id: '1776072202913'
      position:
        x: 114.61618082003986
        y: 282
      positionAbsolute:
        x: 114.61618082003986
        y: 282
      selected: false
      sourcePosition: right
      targetPosition: left
      type: custom
      width: 242
      zIndex: 0
    - data:
        context:
          enabled: true
          variable_selector:
          - '1785147627985'
          - result
        desc: 读取用户输入和历史对话记录，生成 AI 的回复内容。
        memory:
          query_prompt_template: '{{#sys.query#}}


            {{#1785147627985.result#}}'
          role_prefix:
            assistant: ''
            user: ''
          window:
            enabled: true
            size: 30
        model:
          completion_params: {}
          mode: chat
          name: deepseek-v3.2
          provider: langgenius/maas/huaweicloud_maas
        prompt_template:
        - id: 603f57fd-55d0-492d-a6ae-5fdb8bdc70cb
          role: system
          text: 'Role: You are a professional, reliable AI assistant.

            Task: Provide accurate, well-structured, clear, and easy-to-understand
            responses to user questions and private knowledge{{#context#}}.

            Tone: Friendly, objective, and neutral.

            Response Guidelines:

            When dealing with complex content, break it down using bullet points or
            numbered lists for readability.

            Prioritize clarity of expression and factual accuracy above all else.

            If you encounter a question you are unsure about or do not know the answer
            to, please be honest with the user and do not guess or fabricate information.'
        selected: true
        title: LLM
        type: llm
        vision:
          enabled: false
      height: 132
      id: llm
      position:
        x: 907.6307534900758
        y: 303
      positionAbsolute:
        x: 907.6307534900758
        y: 303
      selected: true
      sourcePosition: right
      targetPosition: left
      type: custom
      width: 242
      zIndex: 0
    - data:
        answer: '{{#llm.text#}}'
        desc: 将 AI 生成的回复展示给用户，并保持对话持续进行。
        selected: false
        title: output
        type: answer
        variables: []
      height: 147
      id: answer
      position:
        x: 1321.2654009661846
        y: 303
      positionAbsolute:
        x: 1321.2654009661846
        y: 303
      selected: false
      sourcePosition: right
      targetPosition: left
      type: custom
      width: 242
      zIndex: 0
    - data:
        dataset_ids: []
        multiple_retrieval_config:
          reranking_enable: false
          reranking_mode: reranking_model
          top_k: 4
        query_attachment_selector: []
        query_variable_selector:
        - sys
        - query
        retrieval_mode: multiple
        selected: false
        title: rag
        type: knowledge-retrieval
      height: 52
      id: '1785147627985'
      position:
        x: 509.27830436040074
        y: 303
      positionAbsolute:
        x: 509.27830436040074
        y: 303
      selected: false
      sourcePosition: right
      targetPosition: left
      type: custom
      width: 242
      zIndex: 0
    - data:
        author: admin
        desc: ''
        height: 187
        selected: false
        showAuthor: true
        text: '{"root":{"children":[{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"font-size:
          14px;","text":"Add enterprise private database. User queries can first be
          retrieved from internal data.","type":"text","version":1}],"direction":null,"format":"start","indent":0,"type":"listitem","version":1,"value":1},{"children":[{"detail":0,"format":0,"mode":"normal","style":"font-size:
          14px;","text":"Enable memory function. Users can engage in multi-turn conversations
          with the assistant.","type":"text","version":1}],"direction":null,"format":"start","indent":0,"type":"listitem","version":1,"value":2},{"children":[{"detail":0,"format":0,"mode":"normal","style":"font-size:
          14px;","text":"Quickly deploy the assistant to websites by adding several
          lines of code to HTML files.","type":"text","version":1}],"direction":null,"format":"start","indent":0,"type":"listitem","version":1,"value":3}],"direction":null,"format":"","indent":0,"type":"list","version":1,"textStyle":"font-size:
          14px;","listType":"bullet","start":1,"tag":"ul"}],"direction":null,"format":"","indent":0,"type":"root","version":1}}'
        theme: blue
        title: ''
        type: ''
        width: 478
      height: 187
      id: '1785296446331'
      position:
        x: 571.8054580164732
        y: 61.2749342264494
      positionAbsolute:
        x: 571.8054580164732
        y: 61.2749342264494
      selected: false
      sourcePosition: right
      targetPosition: left
      type: custom-note
      width: 478
      zIndex: 0
    viewport:
      x: 5.737838905969056
      y: 180.4930190119199
      zoom: 0.5135143836062827
  rag_pipeline_variables: []
